AWS Organizations連携でAWS Backupの設定を集中管理する
はじめに
こんにちは。大阪オフィスの林です。
AWS Organizations環境でAWS Backup設定の集中管理を検証する機会がありましたのでまとめておきたいと思います。
今回やること
AWS OrganizationsとAWS Backupを連携しバックアップポリシーの設定とバックアップの取得までを確認していきたいと思います。下記がザックリやることのイメージです。
やってみた
管理アカウントでの作業
AWS Backupのダッシュボード左メニュー「設定」を選択し「バックアップポリシー」と「クロスアカウントモニタリング」を有効にします。
次に「自分の組織」-「バックアップポリシー」を選択し「バックアップポリシーを作成」を選択します。
バックアッププラン名に任意の名称を入力します。本検証のリージョンは「東京リージョン」とします。
要件に応じてバックアップルールを設定します。バックアップボールトはバックアップを取得するメンバーアカウント側に予め作成しておく必要があります。
バックアップ対象とするリソースを設定します。今回はタグをキーとしてバックアップを取得(タグ名が「Backup」でキーが「on」のリソースを対象にバックアップを取得)します。その他はデフォルトで「ポリシーを作成」を選択します。
次に対象のOUをアタッチします。このアタッチでは組織内のOUもしくは組織内のアカウントを個別に指定してアタッチすることも出来ます。
今回はRootを選択します。Rootを選択した場合、Root配下のOUもすべて対象となります。OU毎にポリシーを分ける場合などは個別にOUを選択してください。
メンバーアカウント側での確認
メンバーアカウントにログインしAWS Backupを確認すると、先ほど管理アカウントで作成したバックアッププランが作成されていることが分かります。
バックアッププランの中身を参照すると「AWS Organizationsポリシーから作成された・・・」というメッセージが表示されておりメンバーアカウント側で勝手に設定を変更することが出来ないようになっています。(そりゃそうですよね...)
次の動作確認を行うためにテスト用のDynamoDBを作成し、タグに「Backup:on」を付与しバックアップの取得をテストをしてみます。
動作確認
管理アカウント側での確認
管理アカウントのAWS Backupにて「クロスアカウントモニタリング」を確認すると、指定した時間にバックアップが開始されました。
その後、ステータスが完了となりバックアップの取得が完了しました。
メンバーアカウント側での確認
おまけ
ここまでで、AWS OrganizationsとAWS Backupの連携の機能確認はできたのですが、もう一つおまけで「クロスアカウントバックアップ」を試してみたいと思います。やることはザックリ下記のイメージです。取得したバックアップを管理アカウントのバックアップボールトにコピーします。
AWS Backupのダッシュボードの左メニュー「設定」を選択し「クロスアカウントバックアップ」を有効にします。
前述で作成したバックアップポリシーを編集し「コピーを作成」の設定で、送信先のバックアップボールトに管理アカウントのバックアップボールトのARNを指定します。
しばらくしてバックアップが取得されたのち、バックアップのコピージョブが開始しましたが、エラーとなってしまいました。
どうやらクロスアカウントコピーができるリソースとできないリソースがあるようでDynamoDBはクロスアカウントコピーが出来ないリソースでした。制約についてはこちらを参照ください。今回はテスト用のリソースをDynamoDBからEC2に変更して再度実行してみます。
バックアップが取得されたのち、バックアップのコピージョブが開始し、完了のステータスとなりました。
管理アカウント側に保護されたリソースとして表示されています。
まとめ
実際のワークロードとしてはメンバーアカウントで稼働するシステム側には個別のバックアップ要件があるはずなので、一律で同じ設定を適用するケースというのは少ないのかもしれません。一方で集中管理の設定から外れる場合のみ個別ケースとして扱い、基本的なポリシーは集中管理することで運用管理や設定作業の負荷が下がる可能性も無くは無いと思います。今後AWS Backupの設定を集中管理する際にお役立て頂ければ幸いです。
以上、大阪オフィスの林がお送りしました!